//入库相关的内容
var Instorage = function (config) {
};
Instorage.prototype = {
    init: function () {
        //加载事件
        this.loadevent();
        //加载控件
        this.loadwidget();
        //加载其他的事件
        this.loadOtherEvent();
    },
    loadevent: function () {
        $('#addItemsBtn').click(function () {
            tipsWindown(
                '添加入库明细',
                    'url:get?' + baseUrl + 'instorage/choosegood?t=' + new Date().getTime(),
                '1100',
                '700',
                'true',
                '',
                'true',
                'text',
                '');
        });
        //窗口里的内容 ajax 加载分页
        jQuery("#windown-content .pagination a").live('click', function (e) {
            stopDefault(e);
            var DP_RUL = jQuery(this).attr("href")
            console.log('DP_RUL:', DP_RUL);
            jQuery("#windown-content").load(DP_RUL, {
                'searchGoodName': $('#searchGoodName').val(),
                'month': $('#month').val(),
                't': new Date().getTime()
            });
        });
        //查询的选择
        $('#searchBtn').live('click', function () {
            var DP_RUL = '/instorage/choosegood'
            jQuery("#windown-content").load(DP_RUL, {
                'searchGoodName': $('#searchGoodName').val(),
                'month': $('#currentMonth').val(),
                't': new Date().getTime()
            });
        });
        $(document).keyup(function (event) {
            if (event.keyCode == 13) {
                $("#searchBtn").trigger("click");
            }
        });
        //转换当前this 指针
        var currentAction = this;
        console.log("currentAction:" , currentAction);
        $('#choosegoodBody a[class="btn-buy"]').live('click', function () {
            //组合相关的数据
            var commbinObj = {};
            var attributeArr = ['goodid', 'goodname', 'goodcode', 'goodspec', 'goodunit' , 'goodprice' , 'goodnum','monthplanid'];
            for (var i = 0; i < attributeArr.length; i++) {
                var attributeName = attributeArr[i];
                //动态添加属性
                commbinObj[attributeName] = $(this).attr(attributeName);
            }
            currentAction.renderItems(commbinObj);
        });
        //动态添加时间 也就是添加明细后的事件
        $('#itemDetails tr input[name="goodnum"]').live('change', function () {
            $('#submitBtn').attr('diabled', 'diabled');
            var current = $(this);
            var val = current.val();
            var maxnum = current.attr('maxnum');
            //找到行
            var row = current.parent().parent();
            var tdArr = row.find('td');
            var price = tdArr.eq(3).text();
            //验证价格
            if (!/[1-9]\d*/.test(val) || parseInt(val) > parseInt(maxnum)) {
                tdArr.eq(6).html('<strong>' + price + '</strong>');
                current.val(1);
            } else {
                //计算单个价格
                tdArr.eq(6).html('<strong>' + price * val + '</strong>');
            }
            currentAction.calculate();
            //计算所有的价格
            $('#submitBtn').removeAttr('diabled');
        });
        //删除按钮,也就是动态删除相关的事件
        $('#itemDetails tr  a[datatype="delgood"]').live('click', function () {
            $('#submitBtn').attr('diabled', 'diabled');
            $(this).parent().parent().remove();
            currentAction.calculate();
            $('#submitBtn').removeAttr('diabled');
        });
    },
    loadwidget: function () {
        // 对Date的扩展，将 Date 转化为指定格式的String
        // 月(M)、日(d)、小时(h)、分(m)、秒(s)、季度(q) 可以用 1-2 个占位符，
        // 年(y)可以用 1-4 个占位符，毫秒(S)只能用 1 个占位符(是 1-3 位的数字)
        // 例子：
        // (new Date()).Format("yyyy-MM-dd hh:mm:ss.S") ==> 2006-07-02 08:09:04.423
        // (new Date()).Format("yyyy-M-d h:m:s.S")      ==> 2006-7-2 8:9:4.18
        Date.prototype.Format = function (fmt) { //author: meizz
            var o = {
                "M+": this.getMonth() + 1,                 //月份
                "d+": this.getDate(),                    //日
                "h+": this.getHours(),                   //小时
                "m+": this.getMinutes(),                 //分
                "s+": this.getSeconds(),                 //秒
                "q+": Math.floor((this.getMonth() + 3) / 3), //季度
                "S": this.getMilliseconds()             //毫秒
            };
            if (/(y+)/.test(fmt)) {
                fmt = fmt.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length));
            }
            for (var k in o) {
                if (new RegExp("(" + k + ")").test(fmt)) {
                    fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)));
                }
            }
            return fmt;
        };
    },
    loadOtherEvent : function(){
        //abstract 相关的方法
    },
    //工具
    commonUtil: function () {
        return {
            stopEvent: function (e) {
                // Prevent the default browser action (W3C)
                if (e && e.preventDefault) {
                    e.preventDefault();
                    // A shortcut for stoping the browser action in IE
                }
                else {
                    window.event.returnValue = false;
                }
                return false;
            }
        }
    }
};


